更改linux默认启动内核版本,修改 GRUB 设置

您所在的位置:网站首页 Linux导航 修改开机标 更改linux默认启动内核版本,修改 GRUB 设置

更改linux默认启动内核版本,修改 GRUB 设置

2024-07-09 10:08| 来源: 网络整理| 查看: 265

简介:

在本文中,我们将讨论如何在 GRUB 引导加载器中更改默认启动的 Linux 内核版本。这对于在多个内核版本间切换非常有用。已在Ubuntu上验证可用。告别直接修改/boot/grub/grub.cfg的土办法。

查看目前linux上面的内核版本

# 方法一 ls /boot/vmlinuz-* # 方法二: cat /boot/grub/grub.cfg | grep menuentry # 查看目前使用的内核版本 uname -r

以:Linux 5.15.0-86-generic切换到 Linux 5.11.0-40-generic为例子。

步骤概述:

1.确认目标内核版本在 GRUB 菜单中的位置查看 /boot/grub/grub.cfg ,找到想要设置为默认的内核版本对应的 menuentry。记住它在菜单中的位置,计数从 0 开始。具体例子见下面“grub.cfg实例”

cat /boot/grub/grub.cfg

2.编辑 GRUB 配置文件打开 /etc/default/grub,使用管理员权限。使用文本编辑器,如 nano 或 vim:

sudo vim /etc/default/grub

3.修改 GRUB_DEFAULT 变量在 /etc/default/grub 文件中找到 GRUB_DEFAULT 行。如果目标内核位于子菜单中,使用格式 "主菜单位置>子菜单位置"。例如,如果目标内核是 “Advanced options” 子菜单中的第三个选项(计数为 2),(具体例子见下面“grub.cfg实例”,一下子就懂了),则设置为:

#GRUB_DEFAULT=0 #一般默认是 这个,把它注释掉即可。 GRUB_DEFAULT="1>2"

4.更新 GRUB 配置保存对 /etc/default/grub 的更改后,运行以下命令更新 GRUB:

sudo update-grub

5.重启系统完成上述步骤后,重启系统。系统现在应该会默认启动到新设置的内核版本。

sudo reboot

注意:

直接编辑 /boot/grub/grub.cfg 文件是不推荐的,因为这个文件会在系统更新或执行 update-grub 命令时被自动覆盖。 在做出任何更改之前,请备份相关文件,以防万一出现配置错误。

 

grub.cfg实例

位置:/boot/grub/grub.cfg,摘录其中内容如下:

### main manu(主菜单),number 0, starting with 0. => vim /etc/default/grub : GRUB_DEFAULT=0 menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0ca8df87-68c6-4792-ab3a-cf10e70c71c9' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 else search --no-floppy --fs-uuid --set=root 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 fi linux /boot/vmlinuz-5.15.0-86-generic root=UUID=0ca8df87-68c6-4792-ab3a-cf10e70c71c9 ro quiet splash $vt_handoff initrd /boot/initrd.img-5.15.0-86-generic } ### main manu(主菜单),number 1 submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-0ca8df87-68c6-4792-ab3a-cf10e70c71c9' { ### submain manu(子菜单),number 0,starting with 0. => vim /etc/default/grub : GRUB_DEFAULT="1>0" menuentry 'Ubuntu, with Linux 5.15.0-86-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-86-generic-advanced-0ca8df87-68c6-4792-ab3a-cf10e70c71c9' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 else search --no-floppy --fs-uuid --set=root 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 fi echo 'Loading Linux 5.15.0-86-generic ...' linux /boot/vmlinuz-5.15.0-86-generic root=UUID=0ca8df87-68c6-4792-ab3a-cf10e70c71c9 ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.15.0-86-generic } ### submain manu(子菜单),number 1, => vim /etc/default/grub : GRUB_DEFAULT="1>1" menuentry 'Ubuntu, with Linux 5.15.0-86-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-86-generic-recovery-0ca8df87-68c6-4792-ab3a-cf10e70c71c9' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 else search --no-floppy --fs-uuid --set=root 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 fi echo 'Loading Linux 5.15.0-86-generic ...' linux /boot/vmlinuz-5.15.0-86-generic root=UUID=0ca8df87-68c6-4792-ab3a-cf10e70c71c9 ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.15.0-86-generic } ### submain manu(子菜单),number 2, => vim /etc/default/grub : GRUB_DEFAULT="1>2" menuentry 'Ubuntu, with Linux 5.11.0-40-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-40-generic-advanced-0ca8df87-68c6-4792-ab3a-cf10e70c71c9' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 else search --no-floppy --fs-uuid --set=root 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 fi echo 'Loading Linux 5.11.0-40-generic ...' linux /boot/vmlinuz-5.11.0-40-generic root=UUID=0ca8df87-68c6-4792-ab3a-cf10e70c71c9 ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.11.0-40-generic } ### submain manu(子菜单),number 3, => vim /etc/default/grub : GRUB_DEFAULT="1>3" menuentry 'Ubuntu, with Linux 5.11.0-40-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-40-generic-recovery-0ca8df87-68c6-4792-ab3a-cf10e70c71c9' { recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 else search --no-floppy --fs-uuid --set=root 0ca8df87-68c6-4792-ab3a-cf10e70c71c9 fi echo 'Loading Linux 5.11.0-40-generic ...' linux /boot/vmlinuz-5.11.0-40-generic root=UUID=0ca8df87-68c6-4792-ab3a-cf10e70c71c9 ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-5.11.0-40-generic } }

 

觉得有用,就点个赞吧



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3